Imports System
Imports System.Data
Imports System.Collections
Imports System.Collections.Generic

Imports Framework

<Serializable(), CLSCompliant(True)> _
Partial Public Class CPayment
    Inherits CBaseDynamic
    Implements IComparable(Of CPayment)

#Region "Constructors"
    'Public (Copy Constructor)
    Public Sub New(ByVal original as CPayment, target As CDataSrc)
        m_dataSrc = target
        m_productName = original.ProductName
        m_orderProductId = original.OrderProductId
        m_orderCustomerId = original.OrderCustomerId
        m_customerName = original.CustomerName
        m_customerEmail = original.CustomerEmail
        m_orderCreated = original.OrderCreated
        m_paymentOrderId = original.PaymentOrderId
        m_PaymentAmount = original.PaymentAmount
        m_paymentCreated = original.PaymentCreated
        m_paymentIsOk = original.PaymentIsOk
        m_paymentCode = original.PaymentCode
        m_reminderCount = original.ReminderCount
        m_paymentDetails = original.PaymentDetails
        m_paymentFee = original.PaymentFee
        m_paymentCurrency = original.PaymentCurrency
        m_paymentMemo = original.PaymentMemo
        m_paymentFirstName = original.PaymentFirstName
        m_paymentLastName = original.PaymentLastName
        m_paymentItemName = original.PaymentItemName
        m_paymentTransaction = original.PaymentTransaction
    End Sub

    'Protected (Datareader/Dataset)
    Protected Sub New(ByVal dataSrc As CDataSrc, ByVal dr As IDataReader)
        MyBase.New(dataSrc, dr)
    End Sub
    Protected Sub New(ByVal dataSrc As CDataSrc, ByVal dr As DataRow)
        MyBase.New(dataSrc, dr)
    End Sub
#End Region

#Region "Default Values"
    Protected Overrides Sub InitValues_Auto()
        'Null-Equivalent values (except String.Empty, as nulls tend to be inconvenient for string types)
        m_paymentId = Integer.MinValue
        m_paymentTransaction = String.Empty
        m_paymentOrderId = Integer.MinValue
        m_PaymentAmount = Decimal.MinValue
        m_paymentFee = Decimal.MinValue
        m_paymentCurrency = String.Empty
        m_paymentCreated = DateTime.MinValue
        m_paymentIsOk = False
        m_paymentCode = String.Empty
        m_paymentDetails = String.Empty
        m_paymentMemo = String.Empty
        m_paymentFirstName = String.Empty
        m_paymentLastName = String.Empty
        m_paymentItemName = String.Empty
    End Sub
#End Region

#Region "Members"
    Protected m_productName As String
    Protected m_orderProductId As Integer
    Protected m_orderCustomerId As Integer
    Protected m_customerName As String
    Protected m_customerEmail As String
    Protected m_orderCreated As DateTime
    Protected m_paymentId As Integer
    Protected m_paymentOrderId As Integer
    Protected m_PaymentAmount As Decimal
    Protected m_paymentCreated As DateTime
    Protected m_paymentIsOk As Boolean
    Protected m_paymentCode As String
    Protected m_reminderCount As Integer
    Protected m_paymentDetails As String
    Protected m_paymentFee As Decimal
    Protected m_paymentCurrency As String
    Protected m_paymentMemo As String
    Protected m_paymentFirstName As String
    Protected m_paymentLastName As String
    Protected m_paymentItemName As String
    Protected m_paymentTransaction As String
#End Region

#Region "Properties - Column Values"
    'Primary Key Column (ReadOnly)
    Public ReadOnly Property [PaymentId]() As Integer
        Get
            Return m_paymentId
        End Get
    End Property

    'Table Columns (Read/Write)
    Public Property [PaymentTransaction]() As String
        Get
            Return m_paymentTransaction
        End Get
        Set(ByVal value As String)
            m_paymentTransaction = value
        End Set
    End Property
    Public Property [PaymentOrderId]() As Integer
        Get
            Return m_paymentOrderId
        End Get
        Set(ByVal value As Integer)
            m_paymentOrderId = value
        End Set
    End Property
    Public Property [PaymentAmount]() As Decimal
        Get
            Return m_PaymentAmount
        End Get
        Set(ByVal value As Decimal)
            m_PaymentAmount = value
        End Set
    End Property
    Public Property [PaymentFee]() As Decimal
        Get
            Return m_paymentFee
        End Get
        Set(ByVal value As Decimal)
            m_paymentFee = value
        End Set
    End Property
    Public Property [PaymentCurrency]() As String
        Get
            Return m_paymentCurrency
        End Get
        Set(ByVal value As String)
            m_paymentCurrency = value
        End Set
    End Property
    Public Property [PaymentCreated]() As DateTime
        Get
            Return m_paymentCreated
        End Get
        Set(ByVal value As DateTime)
            m_paymentCreated = value
        End Set
    End Property
    Public Property [PaymentIsOk]() As Boolean
        Get
            Return m_paymentIsOk
        End Get
        Set(ByVal value As Boolean)
            m_paymentIsOk = value
        End Set
    End Property
    Public Property [PaymentCode]() As String
        Get
            Return m_paymentCode
        End Get
        Set(ByVal value As String)
            m_paymentCode = value
        End Set
    End Property
    Public Property [PaymentDetails]() As String
        Get
            Return m_paymentDetails
        End Get
        Set(ByVal value As String)
            m_paymentDetails = value
        End Set
    End Property
    Public Property [PaymentMemo]() As String
        Get
            Return m_paymentMemo
        End Get
        Set(ByVal value As String)
            m_paymentMemo = value
        End Set
    End Property
    Public Property [PaymentFirstName]() As String
        Get
            Return m_paymentFirstName
        End Get
        Set(ByVal value As String)
            m_paymentFirstName = value
        End Set
    End Property
    Public Property [PaymentLastName]() As String
        Get
            Return m_paymentLastName
        End Get
        Set(ByVal value As String)
            m_paymentLastName = value
        End Set
    End Property
    Public Property [PaymentItemName]() As String
        Get
            Return m_paymentItemName
        End Get
        Set(ByVal value As String)
            m_paymentItemName = value
        End Set
    End Property

    'View Columns (ReadOnly)
    Public ReadOnly Property [ProductName]() As String
        Get
            Return m_productName
        End Get
    End Property
    Public ReadOnly Property [OrderProductId]() As Integer
        Get
            Return m_orderProductId
        End Get
    End Property
    Public ReadOnly Property [OrderCustomerId]() As Integer
        Get
            Return m_orderCustomerId
        End Get
    End Property
    Public ReadOnly Property [CustomerName]() As String
        Get
            Return m_customerName
        End Get
    End Property
    Public ReadOnly Property [CustomerEmail]() As String
        Get
            Return m_customerEmail
        End Get
    End Property
    Public ReadOnly Property [OrderCreated]() As DateTime
        Get
            Return m_orderCreated
        End Get
    End Property
    Public ReadOnly Property [ReminderCount]() As Integer
        Get
            Return m_reminderCount
        End Get
    End Property

#End Region

#Region "MustOverride Methods"
    'Schema Information
    Public Const TABLE_NAME As String = "tblMcm_Payments"
    Public Const VIEW_NAME As String  = "vwMcm_Payments"          'Used to override Me.ViewName
    Public Const ORDER_BY_COLS As String = "PaymentId DESC" 'See the CompareTo method below (Sql-based sorting should match In-Memory sorting)
    Public Const SORTING_COLUMN As String = ""
    Public Overrides ReadOnly Property TableName() As String
        Get
            Return TABLE_NAME
        End Get
    End Property
    Protected Overrides ReadOnly Property ViewName() As String
        Get
            Return "vwMcm_Payments"
        End Get
    End Property
    Protected Overrides ReadOnly Property OrderByColumns() As String
        Get
            Return ORDER_BY_COLS
        End Get
    End Property

    'CompareTo Interface (Default Sort Order)
    Public Function CompareTo(other As CPayment) As Integer Implements IComparable(Of CPayment).CompareTo
        Return Me.PaymentId.CompareTo(other.PaymentId) *-1
    End Function

    'Primary Key Information
    Public Const PRIMARY_KEY_NAME As String = "PaymentId"
    Protected Overrides ReadOnly Property InsertPrimaryKey() As Boolean
        Get
            Return False
        End Get
    End Property
    Protected Overrides ReadOnly Property PrimaryKeyName() As String
        Get
            Return PRIMARY_KEY_NAME
        End Get
    End Property
    Protected Overrides Property PrimaryKeyValue() As Object
        Get
            Return m_paymentId
        End Get
        Set(ByVal value As Object)
            m_paymentId = CType(Value, Integer)
        End Set
    End Property

    'Factory Methods - Object
    Protected Overrides Function MakeFrom(ByVal row As DataRow) As CBase
        Return New CPayment(Me.DataSrc, row)
    End Function
    Protected Overrides Function MakeFrom(ByVal dr As IDataReader) As CBase
        Return New CPayment(Me.DataSrc, dr)
    End Function
    
    'Factory Methods - List
    Protected Overrides Function MakeList() As IList
        Return New CPaymentList
    End Function
    Protected Overrides Function MakeList(ByVal capacity As Integer) As IList
        Return New CPaymentList(capacity)
    End Function

    'Convert from ADO to .Net
    Protected Overrides Sub ReadColumns(ByVal dr As IDataReader)
        m_productName = CAdoData.GetStr(dr, "ProductName")
        m_orderProductId = CAdoData.GetInt(dr, "OrderProductId")
        m_orderCustomerId = CAdoData.GetInt(dr, "OrderCustomerId")
        m_customerName = CAdoData.GetStr(dr, "CustomerName")
        m_customerEmail = CAdoData.GetStr(dr, "CustomerEmail")
        m_orderCreated = CAdoData.GetDate(dr, "OrderCreated")
        m_paymentId = CAdoData.GetInt(dr, "PaymentId")
        m_paymentOrderId = CAdoData.GetInt(dr, "PaymentOrderId")
        m_PaymentAmount = CAdoData.GetDec(dr, "PaymentAmount")
        m_paymentCreated = CAdoData.GetDate(dr, "PaymentCreated")
        m_paymentIsOk = CAdoData.GetBool(dr, "PaymentIsOk")
        m_paymentCode = CAdoData.GetStr(dr, "PaymentCode")
        m_reminderCount = CAdoData.GetInt(dr, "ReminderCount")
        m_paymentDetails = CAdoData.GetStr(dr, "PaymentDetails")
        m_paymentFee = CAdoData.GetDec(dr, "PaymentFee")
        m_paymentCurrency = CAdoData.GetStr(dr, "PaymentCurrency")
        m_paymentMemo = CAdoData.GetStr(dr, "PaymentMemo")
        m_paymentFirstName = CAdoData.GetStr(dr, "PaymentFirstName")
        m_paymentLastName = CAdoData.GetStr(dr, "PaymentLastName")
        m_paymentItemName = CAdoData.GetStr(dr, "PaymentItemName")
        m_paymentTransaction = CAdoData.GetStr(dr, "PaymentTransaction")
    End Sub
    Protected Overrides Sub ReadColumns(ByVal dr As DataRow)
        m_productName = CAdoData.GetStr(dr, "ProductName")
        m_orderProductId = CAdoData.GetInt(dr, "OrderProductId")
        m_orderCustomerId = CAdoData.GetInt(dr, "OrderCustomerId")
        m_customerName = CAdoData.GetStr(dr, "CustomerName")
        m_customerEmail = CAdoData.GetStr(dr, "CustomerEmail")
        m_orderCreated = CAdoData.GetDate(dr, "OrderCreated")
        m_paymentId = CAdoData.GetInt(dr, "PaymentId")
        m_paymentOrderId = CAdoData.GetInt(dr, "PaymentOrderId")
        m_PaymentAmount = CAdoData.GetDec(dr, "PaymentAmount")
        m_paymentCreated = CAdoData.GetDate(dr, "PaymentCreated")
        m_paymentIsOk = CAdoData.GetBool(dr, "PaymentIsOk")
        m_paymentCode = CAdoData.GetStr(dr, "PaymentCode")
        m_reminderCount = CAdoData.GetInt(dr, "ReminderCount")
        m_paymentDetails = CAdoData.GetStr(dr, "PaymentDetails")
        m_paymentFee = CAdoData.GetDec(dr, "PaymentFee")
        m_paymentCurrency = CAdoData.GetStr(dr, "PaymentCurrency")
        m_paymentMemo = CAdoData.GetStr(dr, "PaymentMemo")
        m_paymentFirstName = CAdoData.GetStr(dr, "PaymentFirstName")
        m_paymentLastName = CAdoData.GetStr(dr, "PaymentLastName")
        m_paymentItemName = CAdoData.GetStr(dr, "PaymentItemName")
        m_paymentTransaction = CAdoData.GetStr(dr, "PaymentTransaction")
    End Sub

    'Parameters for Insert/Update    
    Protected Overrides Function ColumnNameValues() As CNameValueList
        Dim data As New CNameValueList
        data.Add("PaymentId", NullVal(m_paymentId))
        data.Add("PaymentTransaction", NullVal(m_paymentTransaction))
        data.Add("PaymentOrderId", NullVal(m_paymentOrderId))
        data.Add("PaymentAmount", NullVal(m_PaymentAmount))
        data.Add("PaymentFee", NullVal(m_paymentFee))
        data.Add("PaymentCurrency", NullVal(m_paymentCurrency))
        data.Add("PaymentCreated", NullVal(m_paymentCreated))
        data.Add("PaymentIsOk", NullVal(m_paymentIsOk))
        data.Add("PaymentCode", NullVal(m_paymentCode))
        data.Add("PaymentDetails", NullVal(m_paymentDetails))
        data.Add("PaymentMemo", NullVal(m_paymentMemo))
        data.Add("PaymentFirstName", NullVal(m_paymentFirstName))
        data.Add("PaymentLastName", NullVal(m_paymentLastName))
        data.Add("PaymentItemName", NullVal(m_paymentItemName))
        Return data
    End Function
#End Region

#Region "Queries - SelectAll/SelectWhere (inherited methods, cast only)"
    'Select Queries - Non-Paged
    Public Shadows Function SelectAll() As CPaymentList
        Return CType(MyBase.SelectAll(), CPaymentList)
    End Function
    Public Shadows Function SelectAll(ByVal orderBy As String) As CPaymentList
        Return CType(MyBase.SelectAll(orderBy), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal colName As String, ByVal sign As ESign, ByVal colValue As Object) As CPaymentList
        Return CType(MyBase.SelectWhere(colName, sign, colValue), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal where As CCriteria) As CPaymentList
        Return CType(MyBase.SelectWhere(where), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal where As CCriteriaList) As CPaymentList
        Return CType(MyBase.SelectWhere(where), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal where As CCriteriaList, ByVal tableNameOrJoinExpression As String) As CPaymentList
        Return CType(MyBase.SelectWhere(where, tableNameOrJoinExpression, Me.OrderByColumns), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal where As CCriteriaList, ByVal tableNameOrJoinExpression As String, ByVal orderBy As String) As CPaymentList
        Return CType(MyBase.SelectWhere(where, tableNameOrJoinExpression, orderBy), CPaymentList)
    End Function
    <Obsolete("Arbitrary where-clause is not necessary portable or safe from sql injection attacks. Consider using the parameterised query interfaces")> _
    Public Shadows Function SelectWhere(ByVal unsafeWhereClause As String) As CPaymentList
        Return CType(MyBase.SelectWhere(unsafeWhereClause), CPaymentList)
    End Function
    Public Shadows Function SelectById(ByVal paymentId As Integer) As CPaymentList
        Return CType(MyBase.SelectById(paymentId), CPaymentList)
    End Function
    Public Shadows Function SelectByIds(ByVal ids As List(Of Integer)) As CPaymentList
        Return CType(MyBase.SelectByIds(ids), CPaymentList)
    End Function
    
    'Select Queries - Paged
    Public Shadows Function SelectAll(ByVal pi As CPagingInfo) As CPaymentList
        Return CType(MyBase.SelectAll(pi), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal pi As CPagingInfo, ByVal colName As String, ByVal sign As ESign, ByVal colValue As Object) As CPaymentList
        Return CType(MyBase.SelectWhere(pi, colName, sign, colValue), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal pi As CPagingInfo, ByVal criteria As CCriteria) As CPaymentList
        Return CType(MyBase.SelectWhere(pi, criteria), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal pi As CPagingInfo, ByVal criteria As CCriteriaList) As CPaymentList
        Return CType(MyBase.SelectWhere(pi, criteria), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal pi As CPagingInfo, ByVal criteria As CCriteriaList, ByVal tableViewOrJoinExpr As String) As CPaymentList
        Return CType(MyBase.SelectWhere(pi, criteria, tableViewOrJoinExpr), CPaymentList)
    End Function
    Public Shadows Function SelectByIds(ByVal pi As CPagingInfo, ByVal ids As List(Of Integer)) As CPaymentList
        Return CType(MyBase.SelectByIds(pi, ids), CPaymentList)
    End Function

    'Select Queries - Transactional
    Public Shadows Function SelectAll(ByVal tx As IDbTransaction) As CPaymentList
        Return CType(MyBase.SelectAll(tx), CPaymentList)
    End Function
    Public Shadows Function SelectAll(ByVal orderBy As String, ByVal tx As IDbTransaction) As CPaymentList
        Return CType(MyBase.SelectAll(orderBy, tx), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal columnName As String, columnValue As Object, ByVal tx As IDbTransaction) As CPaymentList
        Return CType(MyBase.SelectWhere(columnName, columnValue, tx), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal columnName As String, sign As ESign, columnValue As Object, ByVal tx As IDbTransaction) As CPaymentList
        Return CType(MyBase.SelectWhere(columnName, sign, columnValue, tx), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal criteria As CCriteria, ByVal tx As IDbTransaction) As CPaymentList
        Return CType(MyBase.SelectWhere(criteria, tx), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal criteria As CCriteriaList, ByVal tx As IDbTransaction) As CPaymentList
        Return CType(MyBase.SelectWhere(criteria, tx), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal criteria As CCriteriaList, ByVal tableOrJoin As String, ByVal tx As IDbTransaction) As CPaymentList
        Return CType(MyBase.SelectWhere(criteria, tableOrJoin, tx), CPaymentList)
    End Function
    Public Shadows Function SelectWhere(ByVal criteria As CCriteriaList, ByVal tableOrJoin As String, ByVal orderBy As String, ByVal tx As IDbTransaction) As CPaymentList
        Return CType(MyBase.SelectWhere(criteria, tableOrJoin, orderBy, tx), CPaymentList)
    End Function
    Public Shadows Function SelectById(ByVal paymentId As Integer, ByVal tx As IDbTransaction) As CPaymentList
        Return CType(MyBase.SelectById(paymentId, tx), CPaymentList)
    End Function
    Public Shadows Function SelectByIds(ByVal ids As List(Of Integer), ByVal tx As IDbTransaction) As CPaymentList
        Return CType(MyBase.SelectByIds(ids, tx), CPaymentList)
    End Function
    
    'Select Queries - Stored Procedures
    Public Overloads Function MakeList(ByVal storedProcName As String, ByVal txOrNull As IDbTransaction) As CPaymentList
        Return CType(MyBase.MakeList(storedProcName, txOrNull), CPaymentList)
    End Function
    Public Overloads Function MakeList(ByVal storedProcName As String, ByVal params As Object(), ByVal txOrNull As IDbTransaction) As CPaymentList
        Return CType(MyBase.MakeList(storedProcName, params, txOrNull), CPaymentList)
    End Function
    Public Overloads Function MakeList(ByVal storedProcName As String, ByVal params As CNameValueList, ByVal txOrNull As IDbTransaction) As CPaymentList
        Return CType(MyBase.MakeList(storedProcName, params, txOrNull), CPaymentList)
    End Function
    Public Overloads Function MakeList(ByVal storedProcName As String, ByVal params As List(Of Object), ByVal txOrNull As IDbTransaction) As CPaymentList
        Return CType(MyBase.MakeList(storedProcName, params, txOrNull), CPaymentList)
    End Function
    Public Overloads Function MakeList(ByVal storedProcName As String, ByVal param1 As Integer, ByVal txOrNull As IDbTransaction) As CPaymentList
        Return CType(MyBase.MakeList(storedProcName, param1, txOrNull), CPaymentList)
    End Function
    Public Overloads Function MakeList(ByVal storedProcName As String, ByVal param1 As String, ByVal txOrNull As IDbTransaction) As CPaymentList
        Return CType(MyBase.MakeList(storedProcName, param1, txOrNull), CPaymentList)
    End Function

    'Query Results
    Protected Overloads Function MakeList(ByVal ds As DataSet) As CPaymentList
        Return CType(MyBase.MakeList(ds), CPaymentList)
    End Function
    Protected Overloads Function MakeList(ByVal dt As DataTable) As CPaymentList
        Return CType(MyBase.MakeList(dt), CPaymentList)
    End Function
    Protected Overloads Function MakeList(ByVal rows As DataRowCollection) As CPaymentList
        Return CType(MyBase.MakeList(rows), CPaymentList)
    End Function
    Protected Overloads Function MakeList(ByVal dr As IDataReader) As CPaymentList
        Return CType(MyBase.MakeList(dr), CPaymentList)
    End Function
    Protected Overloads Function MakeList(ByVal drOrDs As Object) As CPaymentList
        Return CType(MyBase.MakeList(drOrDs), CPaymentList)
    End Function
    Protected Overloads Function MakeList(ByVal gzip As Byte()) As CPaymentList
        Return CType(MyBase.MakeList(gzip), CPaymentList)
    End Function
#End Region

#Region "Queries - SelectBy[FK] (user-nominated fk/bool columns)"
    'Non-Paged
    Public Function SelectByOrderId(ByVal paymentOrderId As Integer) As CPaymentList
        Return SelectWhere(new CCriteriaList("PaymentOrderId", paymentOrderId))
    End Function
    Public Function SelectByIsOk(ByVal paymentIsOk As Boolean) As CPaymentList
        Return SelectWhere(new CCriteriaList("PaymentIsOk", paymentIsOk))
    End Function

    'Paged
    Public Function SelectByOrderId(pi as CPagingInfo, ByVal paymentOrderId As Integer) As CPaymentList
        Return SelectWhere(pi, New CCriteriaList("PaymentOrderId", paymentOrderId))
    End Function
    Public Function SelectByIsOk(pi as CPagingInfo, ByVal paymentIsOk As Boolean) As CPaymentList
        Return SelectWhere(pi, New CCriteriaList("PaymentIsOk", paymentIsOk))
    End Function

    'Count
    Public Function SelectCountByOrderId(ByVal paymentOrderId As Integer) As Integer
        Return SelectCount(New CCriteriaList("PaymentOrderId", paymentOrderId))
    End Function
    Public Function SelectCountByIsOk(ByVal paymentIsOk As Boolean) As Integer
        Return SelectCount(New CCriteriaList("PaymentIsOk", paymentIsOk))
    End Function

    'Transactional
    Public Function SelectByOrderId(ByVal paymentOrderId As Integer, tx As IDbTransaction) As CPaymentList
        Return SelectWhere(New CCriteriaList("PaymentOrderId", paymentOrderId), tx)
    End Function
    Public Function SelectByIsOk(ByVal paymentIsOk As Boolean, tx As IDbTransaction) As CPaymentList
        Return SelectWhere(New CCriteriaList("PaymentIsOk", paymentIsOk), tx)
    End Function
#End Region

#Region "ToXml"
    Protected Overrides Sub ToXml_Autogenerated(ByVal w As System.Xml.XmlWriter)
        Store(w, "PaymentId", Me.PaymentId)
        Store(w, "PaymentTransaction", Me.PaymentTransaction)
        Store(w, "PaymentOrderId", Me.PaymentOrderId)
        Store(w, "PaymentAmount", Me.PaymentAmount)
        Store(w, "PaymentFee", Me.PaymentFee)
        Store(w, "PaymentCurrency", Me.PaymentCurrency)
        Store(w, "PaymentCreated", Me.PaymentCreated)
        Store(w, "PaymentIsOk", Me.PaymentIsOk)
        Store(w, "PaymentCode", Me.PaymentCode)
        Store(w, "PaymentDetails", Me.PaymentDetails)
        Store(w, "PaymentMemo", Me.PaymentMemo)
        Store(w, "PaymentFirstName", Me.PaymentFirstName)
        Store(w, "PaymentLastName", Me.PaymentLastName)
        Store(w, "PaymentItemName", Me.PaymentItemName)
    End Sub
#End Region



End Class